package com.chrray.position.service.auth;



import com.chrray.position.entity.position.SysUser;
import com.chrray.position.pojo.dto.auth.AllUserAddRequest;
import com.chrray.position.pojo.dto.auth.WebAllUserUpdateRequest;
import com.chrray.position.pojo.dto.auth.LoginDto;
import com.chrray.position.pojo.dto.auth.AllUserUpRequest;
import com.chrray.position.pojo.dto.auth.UpdatePasswordDto;
import com.chrray.position.pojo.dto.auth.UserListDto;
import com.chrray.position.pojo.vo.auth.LoginVo;
import com.chrray.position.util.result.PageBean;
import com.chrray.position.util.result.ResponseResult;

/**
 *系统用户表
 */
public interface MaSysUserService {

	/**
	 * 修改自己密码
	 * @param dto
	 * @return
	 */
	ResponseResult updatePassword(UpdatePasswordDto dto);


	/**
	 * 登录
	 * @param login
	 * @return
	 */
	ResponseResult<LoginVo> login(LoginDto login);

	/**
	 * 用户列表
	 * @param dto
	 * @return
	 */
	ResponseResult<PageBean<SysUser>>  listUser(UserListDto dto);

	/**
	 * 删除用户
	 * @param id
	 * @return
	 */
	ResponseResult deleteUser(Long id);

	/**
	 * 重置密码
	 * @param id
	 * @return
	 */
	ResponseResult  resettingPwd(Long id);

	/**
	 * 编辑用户
	 * @param dto
	 * @return
	 */
	ResponseResult updateUser(AllUserAddRequest dto);


	ResponseResult addUser(AllUserAddRequest dto);

	ResponseResult upOrDownUser(AllUserUpRequest sysUser);


	SysUser selectById(Long id);


	ResponseResult<SysUser> getSysUser(Long loginSysUserId);

	ResponseResult updateSysUser(WebAllUserUpdateRequest sysUser);
}
